package com.nmsl.sn.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.nmsl.common.annotation.Excel;
import com.nmsl.common.core.domain.BaseEntity;

/**
 * 就诊记录对象 visit_record
 * 
 * @author sn
 * @date 2025-02-21
 */
public class SnVisitRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 就诊记录id */
    @Excel(name = "就诊记录id")
    private Long visitRecordId;

    /** 员工id（员工表）（医生） */
    @Excel(name = "员工id", readConverterExp = "员=工表")
    private Long doctorId;

    /** 患者id（患者表） */
    @Excel(name = "患者id", readConverterExp = "患=者表")
    private Long patientId;

    /** 就诊时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "就诊时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitTime;

    /** 辅助检查 */
    @Excel(name = "辅助检查")
    private String auxiliaryExamination;

    /** 初步诊断 */
    @Excel(name = "初步诊断")
    private String preliminaryDiagnosis;

    /** 治疗意见 */
    @Excel(name = "治疗意见")
    private String treatmentAdvice;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 医嘱 */
    @Excel(name = "医嘱")
    private String medicalAdvice;

    /** 诊断类型 */
    @Excel(name = "诊断类型")
    private String diagnosisType;

    /** 发病时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发病时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date onsetTime;

    /** 主诉 */
    @Excel(name = "主诉")
    private String chiefComplaint;

    public void setVisitRecordId(Long visitRecordId) 
    {
        this.visitRecordId = visitRecordId;
    }

    public Long getVisitRecordId() 
    {
        return visitRecordId;
    }
    public void setDoctorId(Long doctorId) 
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId() 
    {
        return doctorId;
    }
    public void setPatientId(Long patientId) 
    {
        this.patientId = patientId;
    }

    public Long getPatientId() 
    {
        return patientId;
    }
    public void setVisitTime(Date visitTime) 
    {
        this.visitTime = visitTime;
    }

    public Date getVisitTime() 
    {
        return visitTime;
    }
    public void setAuxiliaryExamination(String auxiliaryExamination) 
    {
        this.auxiliaryExamination = auxiliaryExamination;
    }

    public String getAuxiliaryExamination() 
    {
        return auxiliaryExamination;
    }
    public void setPreliminaryDiagnosis(String preliminaryDiagnosis) 
    {
        this.preliminaryDiagnosis = preliminaryDiagnosis;
    }

    public String getPreliminaryDiagnosis() 
    {
        return preliminaryDiagnosis;
    }
    public void setTreatmentAdvice(String treatmentAdvice) 
    {
        this.treatmentAdvice = treatmentAdvice;
    }

    public String getTreatmentAdvice() 
    {
        return treatmentAdvice;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setMedicalAdvice(String medicalAdvice) 
    {
        this.medicalAdvice = medicalAdvice;
    }

    public String getMedicalAdvice() 
    {
        return medicalAdvice;
    }
    public void setDiagnosisType(String diagnosisType) 
    {
        this.diagnosisType = diagnosisType;
    }

    public String getDiagnosisType() 
    {
        return diagnosisType;
    }
    public void setOnsetTime(Date onsetTime) 
    {
        this.onsetTime = onsetTime;
    }

    public Date getOnsetTime() 
    {
        return onsetTime;
    }
    public void setChiefComplaint(String chiefComplaint) 
    {
        this.chiefComplaint = chiefComplaint;
    }

    public String getChiefComplaint() 
    {
        return chiefComplaint;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("visitRecordId", getVisitRecordId())
            .append("doctorId", getDoctorId())
            .append("patientId", getPatientId())
            .append("visitTime", getVisitTime())
            .append("auxiliaryExamination", getAuxiliaryExamination())
            .append("preliminaryDiagnosis", getPreliminaryDiagnosis())
            .append("treatmentAdvice", getTreatmentAdvice())
            .append("remarks", getRemarks())
            .append("medicalAdvice", getMedicalAdvice())
            .append("diagnosisType", getDiagnosisType())
            .append("onsetTime", getOnsetTime())
            .append("chiefComplaint", getChiefComplaint())
            .toString();
    }
}
